package com.thinkverse.paper.dto;

import com.thinkverse.common.dto.BaseDTO;
import lombok.Data;
import lombok.EqualsAndHashCode;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import java.util.List;

/**
 * 论文上传DTO
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class PaperUploadDTO extends BaseDTO {
    
    /**
     * 论文标题
     */
    @NotBlank(message = "论文标题不能为空")
    private String title;
    
    /**
     * 论文摘要
     */
    @NotBlank(message = "论文摘要不能为空")
    private String abstractText;
    
    /**
     * 关键词
     */
    @NotBlank(message = "关键词不能为空")
    private String keywords;
    
    /**
     * 作者列表
     */
    @NotNull(message = "作者列表不能为空")
    private List<String> authors;
    
    /**
     * 第一作者
     */
    private String firstAuthor;
    
    /**
     * 通讯作者
     */
    private String correspondingAuthor;
    
    /**
     * 发表期刊/会议
     */
    private String journal;
    
    /**
     * 发表年份
     */
    private Integer publishYear;
    
    /**
     * 论文类型
     */
    private String paperType;
    
    /**
     * 研究方向
     */
    private String researchField;
}
